package com.qfedu.spring.mvc.controller;

import com.qfedu.spring.mvc.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;
import java.util.List;

/**
 * @auther asus
 * @date 2022/5/9 22:48
 */
@RestController  //组合注解，包括@Controller和@ResponseBody
//@Controller
@RequestMapping("json")
//@ResponseBody //如果每个方法前都有@ResponseBody注解，可以直接放到类上
public class JsonController {

    @RequestMapping(value = "test1",produces = "text/html;charset=utf-8")
    //@ResponseBody  //这个注解的作用是，方法的返回值直接放入到响应体中
    public String test1(){
        //如果我们自己在响应字串中有中文会出现中文乱码
        //springmvc默认使用的字串消息转换器编码是letin/iso-8859-1
        return "ok,你好";
    }

    @RequestMapping("test2")
    //@ResponseBody  //这个注解的作用是，方法的返回值直接放入到响应体中
    public User test2(){
        User user=new User();
        user.setId(1);
        user.setName("胡长攀");
        user.setAge(20);
        return user;
    }

    @RequestMapping("test3")
    //@ResponseBody  //这个注解的作用是，方法的返回值直接放入到响应体中
    public List<User> test3(){
        User user=new User();
        user.setId(1);
        user.setName("胡长攀");
        user.setAge(20);
        User user2=new User();
        user2.setId(2);
        user2.setName("荣耀");
        user2.setAge(12);

        return Arrays.asList(user,user2);
    }
}
